package list

// type ListNode struct {
// 	Val  int
// 	Next *ListNode
// }

// 存在一个按升序排列的链表，给你这个链表的头节点 head ，请你删除所有重复的元素，使每个元素 只出现一次 。
// 返回同样按升序排列的结果链表。
// 输入：head = [1,1,2]
// 输出：[1,2]

// 执行用时 0ms 100%
// 内存消耗 3.1mb 60.76%
func DeleteDuplicatesByMySelf(head *ListNode) *ListNode {

	if head == nil || head.Next == nil {
		return head
	}

	curr := head

	for curr.Next != nil {
		if curr.Next.Val == curr.Val {
			curr.Next = curr.Next.Next
		} else {
			curr = curr.Next
		}
	}

	return head

}
